package com.zszedu.mapper;

import com.zszedu.pojo.Product;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

public interface ProductMapper {
    Double AvgRate();

    //根据产品类型type以及产品期限cycle查询信息，只返回一个对象
    Product queryByTypeAndCycle(@Param("type") Integer type,@Param("cycle")Integer cycle);

    //根据产品类型(productType)/产品状态(productStatus)并且按照金额排序(从小到大)，返回固定的长度 limit
    List queryByTypeAndStatus(@Param("type")Integer type,@Param("limit")Integer limit);

    //根据产品类型返回总数量
    Integer querySum(Integer type);

    /**
     * type = 查询的条件根据产品类型返回
     * start = 需要从那个下标开始读取
     * pageSize = 读取数据的数量
     */
    List PageData(@Param("type")Integer type,@Param("start")Integer start,@Param("pageSize")Integer pageSize);

    //根据id查询数据
    Product queryById(Integer id);

    //扣除(减去)产品剩余投资金额
    Integer editMoney(@Param("pid")Integer pid,@Param("money")Double money);

    //更新产品状态/满标时间
    Integer editStatusAndTime(@Param("pid") Integer pid,@Param("status") Integer status,@Param("time") Date time);

    //查询满标产品
    List<Product> queryFullProduct();
}
